package prh25.biblioteca.service;

import java.io.Serializable;
import java.util.List;

import prh25.biblioteca.entity.Documento;
import prh25.biblioteca.entity.Professor;
import prh25.biblioteca.entity.Revisor;
import prh25.biblioteca.entity.Usuario;



public interface RevisorService extends Serializable {
	
	/**
	 * Salva um revisor no banco de dados.
	 * @param revisor a ser salvo no banco de dados.
	 */
	public Integer criar(Revisor revisor);
	

	/**
	 * Busca todos os documentos no banco de dados que obedecam ao criterio
	 * de pesquisa passado pelo usuario.
	 * @param pesquisa - Criterio de pesquisa.
	 */
	public List<Documento> listarDocumentos(String pesquisa);
	
	
	/**
	 * Salva um arquivo no banco de dados.
	 * @param documento - Documento a ser salvo no banco de dados.
	 * @param diretorioAplicacao - diretorio onde se encontra o arquivo.
	 * @return True se o arquivo foi salvo com sucesso, false caso contrario.
	 */
	public boolean finalizarEnvioArquivo(Documento documento, String diretorioAplicacao);
	
	/**
	 * Altera o status de um documento, ou seja, se o documento foi ou nao aceito
	 * @param uid - O identificador unico do documento.
	 * @param situacao - O status atual que o documento se encontra no sistema.
	 * @return O documento que tera o seu status alterado. 
	 */
	public Documento setSituacaoDocumento(String uid, boolean situacao);

	/**
	 * Deleta um arquivo do banco de dados.
	 * @param uid - O identificador unico do arquivo.
	 */
	public boolean excluirDocumento(String uid);
	
	
	

}
